package com.twq.collection.list

/**
 * Created by tangweiqun on 2017/12/10.
 */
object BasicOps {
  def main(args: Array[String]): Unit = {

    //1、List的结构
    val apples = new Apple :: Nil
    val fruits = new Orange :: apples

    //2、head 返回List的第一个元素
    //3、tail 返回除了第一个元素剩下的所有元素的列表
    //4、isEmpty 如果List为空的话，则返回true


    val empty = Nil

    empty.isEmpty
    fruits.isEmpty
    fruits.head
    fruits.tail

    //Nil不能应用head和tail方法，会抛异常
  }

  //使用List基本操作的例子
  def headAddOne(xs: List[Int]): List[Int] =
    if (xs.isEmpty) Nil
    else (xs.head + 1) :: xs.tail
}

abstract class Fruit

class Apple extends Fruit

class Orange extends Fruit

